package com.ruoyi.driver.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 驾驶员培训课程信息对象 tb_driver_training
 * 
 * @author ruoyi
 * @date 2025-08-27
 */
public class TbDriverTraining extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 培训ID */
    @Excel(name = "培训ID")
    private Integer driverTrainingId;

    /** 司机ID */
    @Excel(name = "司机ID")
    private Integer driverId;

    /** 驾驶员培训课程名称 */
    @Excel(name = "驾驶员培训课程名称")
    private String courseName;

    /** 培训课程日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "培训课程日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date courseDate;

    /** 培训开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "培训开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date trainingStartDate;

    /** 培训结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "培训结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date trainingEndDate;

    /** 培训时长（分钟） */
    @Excel(name = "培训时长", readConverterExp = "分=钟")
    private Integer trainingDuration;

    public void setDriverTrainingId(Integer driverTrainingId) 
    {
        this.driverTrainingId = driverTrainingId;
    }

    public Integer getDriverTrainingId() 
    {
        return driverTrainingId;
    }

    public void setDriverId(Integer driverId) 
    {
        this.driverId = driverId;
    }

    public Integer getDriverId() 
    {
        return driverId;
    }

    public void setCourseName(String courseName) 
    {
        this.courseName = courseName;
    }

    public String getCourseName() 
    {
        return courseName;
    }

    public void setCourseDate(Date courseDate) 
    {
        this.courseDate = courseDate;
    }

    public Date getCourseDate() 
    {
        return courseDate;
    }

    public void setTrainingStartDate(Date trainingStartDate) 
    {
        this.trainingStartDate = trainingStartDate;
    }

    public Date getTrainingStartDate() 
    {
        return trainingStartDate;
    }

    public void setTrainingEndDate(Date trainingEndDate) 
    {
        this.trainingEndDate = trainingEndDate;
    }

    public Date getTrainingEndDate() 
    {
        return trainingEndDate;
    }

    public void setTrainingDuration(Integer trainingDuration) 
    {
        this.trainingDuration = trainingDuration;
    }

    public Integer getTrainingDuration() 
    {
        return trainingDuration;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("driverTrainingId", getDriverTrainingId())
            .append("driverId", getDriverId())
            .append("courseName", getCourseName())
            .append("courseDate", getCourseDate())
            .append("trainingStartDate", getTrainingStartDate())
            .append("trainingEndDate", getTrainingEndDate())
            .append("trainingDuration", getTrainingDuration())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
